<h2>Why is this an issue?</h2>
<p>Shared naming conventions allow teams to collaborate efficiently.</p>
<p>This rule raises an issue when a class name does not match a provided regular expression.</p>
<p>The default configuration is the one recommended by Microsoft:</p>
<ul>
  <li> Pascal casing, starting with an upper case character, e.g., <code>BackColor</code> </li>
  <li> Short abbreviations of 2 letters can be capitalized, e.g., <code>GetID</code> </li>
  <li> Longer abbreviations need to be lowercased, e.g., <code>GetHtml</code> </li>
</ul>
<p>For example, with the default regular expression <code>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</code>, the class:</p>
<pre>
Class foo ' Noncompliant
End Class
</pre>
<p>should be renamed to</p>
<pre>
Class Foo
End Class
</pre>
<h2>Resources</h2>
<h3>Documentation</h3>
<ul>
  <li> <a href="https://learn.microsoft.com/en-us/dotnet/visual-basic/programming-guide/program-structure/naming-conventions">Visual Basic Naming
  Conventions</a> </li>
  <li> <a href="https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions">Microsoft Capitalization
  Conventions</a> </li>
</ul>

